﻿using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Data.Entity;
using System.Globalization;
using System.Web.Mvc;
using System.Web.Security;

namespace JuniorProject.Models.Applicant
{
    public class ApplicantBasicApplicationModel
    {
        [DataType(DataType.Text)]
        [Display(Name = "UserID")]
        public int UserID { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Alternate Name")]
        public string AltName { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Social Sec. No.")]
        public string SSN { get; set; }

        #region AVAILABILITY
        [Required]
        [Display(Name = "FullTime")]
        public bool FullTime { get; set; }

        [Required]
        [Display(Name = "Days")]
        public bool Days { get; set; }

        [Required]
        [Display(Name = "Evenings")]
        public bool Evenings { get; set; }

        [Required]
        [Display(Name = "Weekends")]
        public bool Weekends { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Monday Start")]
        public string MonStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Monday Stop")]
        public string MonStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Tuesday Start")]
        public string TuesStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Tuesday Stop")]
        public string TuesStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Wednesday Start")]
        public string WedStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Wednesday Stop")]
        public string WedStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Thursday Start")]
        public string ThurStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Thursday Stop")]
        public string ThurStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Friday Start")]
        public string FriStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Friday Stop")]
        public string FriStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Saturday Start")]
        public string SatStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Saturday Stop")]
        public string SatStop { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Sunday Start")]
        public string SunStart { get; set; }

        [Required]
        [DataType(DataType.Time)]
        [Display(Name = "Sunday Stop")]
        public string SunStop { get; set; }
        #endregion
        #region EMPLOYMENT HISTORY 1
        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Most Recent Employer Name")]
        public string EmployerName1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Position")]
        public string Position1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Start Date")]
        public string StartDate1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "End Date")]
        public string EndDate1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string Address11 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string Address21 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string City1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string State1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string Zip1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Manager Name")]
        public string ManagerName1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Manager Phone")]
        public string ManagerPhone1 { get; set; }

        [Required]
        [DataType(DataType.Currency)]
        [Display(Name = "Start Salary")]
        public string StartSalary1 { get; set; }

        [Required]
        [DataType(DataType.Currency)]
        [Display(Name = "End Salary")]
        public string EndSalary1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Reason For Leaving")]
        public string ReasonForLeaving1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Responsibilities")]
        public string Responsibilities1 { get; set; }

        [Required]
        [Display(Name = "May We Contact")]
        public bool MayWeContact1 { get; set; }
        #endregion
        #region EMPLOYMENT HISTORY 2
        [DataType(DataType.Text)]
        [Display(Name = "Second Most Recent Employer Name")]
        public string EmployerName2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Position")]
        public string Position2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Start Date")]
        public string StartDate2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "End Date")]
        public string EndDate2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string Address12 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string Address22 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string City2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string State2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string Zip2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Manager Name")]
        public string ManagerName2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Manager Phone")]
        public string ManagerPhone2 { get; set; }

        [DataType(DataType.Currency)]
        [Display(Name = "Start Salary")]
        public string StartSalary2 { get; set; }

        [DataType(DataType.Currency)]
        [Display(Name = "End Salary")]
        public string EndSalary2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Reason For Leaving")]
        public string ReasonForLeaving2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Responsibilities")]
        public string Responsibilities2 { get; set; }

        [Display(Name = "May We Contact")]
        public bool MayWeContact2 { get; set; }
        #endregion
        #region EMPLOYMENT HISTORY 3
        [DataType(DataType.Text)]
        [Display(Name = "Next Most Recent Employer Name")]
        public string EmployerName3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Position")]
        public string Position3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Start Date")]
        public string StartDate3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "End Date")]
        public string EndDate3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string Address13 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string Address23 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string City3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string State3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string Zip3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Manager Name")]
        public string ManagerName3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Manager Phone")]
        public string ManagerPhone3 { get; set; }

        [DataType(DataType.Currency)]
        [Display(Name = "Start Salary")]
        public string StartSalary3 { get; set; }

        [DataType(DataType.Currency)]
        [Display(Name = "End Salary")]
        public string EndSalary3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Reason For Leaving")]
        public string ReasonForLeaving3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Responsibilities")]
        public string Responsibilities3 { get; set; }

        [Display(Name = "May We Contact")]
        public bool MayWeContact3 { get; set; }
        #endregion
        #region EDUCATION HISTORY 1
        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Most Recent School Attended")]
        public string SchoolName1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string SchoolAddress11 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string SchoolAddress21 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string SchoolCity1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string SchoolState1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string SchoolZip1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Year Started")]
        public string YearStart1 { get; set; }

        [Required]
        [DataType(DataType.Text)]
        [Display(Name = "Year Ended")]
        public string YearEnd1 { get; set; }

        [Required]
        [Display(Name = "Did you graduate?")]
        public bool Graduated1 { get; set; }
        #endregion
        #region EDUCATION HISTORY 2
        [DataType(DataType.Text)]
        [Display(Name = "Second Most Recent School Attended")]
        public string SchoolName2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string SchoolAddress12 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string SchoolAddress22 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string SchoolCity2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string SchoolState2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string SchoolZip2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Year Started")]
        public string YearStart2 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Year Ended")]
        public string YearEnd2 { get; set; }

        [Display(Name = "Did you graduate?")]
        public bool Graduated2 { get; set; }
        #endregion
        #region EDUCATION HISTORY 3
        [DataType(DataType.Text)]
        [Display(Name = " Next Most Recent School Attended")]
        public string SchoolName3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 1")]
        public string SchoolAddress13 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Address Line 2")]
        public string SchoolAddress23 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "City")]
        public string SchoolCity3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "State")]
        public string SchoolState3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Zip")]
        public string SchoolZip3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Year Started")]
        public string YearStart3 { get; set; }

        [DataType(DataType.Text)]
        [Display(Name = "Year Ended")]
        public string YearEnd3 { get; set; }

        [Display(Name = "Did you graduate?")]
        public bool Graduated3 { get; set; }
        #endregion
    }
}